DynamoDBとDynamoDB Adminをlocal環境に構築
code:docker-compose.yml
version: '3'
services:
dynamodb-local:
image: amazon/dynamodb-local:latest
container_name: dynamodb-local
volumes:
- ./dynamoDB/data:/home/dynamodblocal/data
ports:
- 8000:8000
command: -jar DynamoDBLocal.jar -sharedDb -dbPath ./data -optimizeDbBeforeStartup
networks:
- network
dynamodb-admin:
container_name: dynamodb-local-admin
image: aaronshaf/dynamodb-admin:latest
environment:
- DYNAMO_ENDPOINT=dynamodb-local:8000
ports:
- 8001:8001
depends_on:
- dynamodb-local
networks:
- network
volumes:
dynamodb:
driver: local
networks:
network:
driver: bridge
記事にもある通り、command オプションで -jar DynamoDBLocal.jar -sharedDb -dbPath ./data -optimizeDbBeforeStartupと指定している
-sharedDbオプションを指定しとかないと、異なるリージョンを指定するとそれぞれ別々のDBに対する操作となる
-dbPath オプションに、永続化するデータのファイルパスを指定している。指定しないとデフォルトではinMemory オプションと解釈されコンテナ停止時にデータも削除される
docker-compose up -dで起動
https://gyazo.com/11472cbc45211791e266b125a7a48c11